# 36. 找到字符串中出现次数最多的一个字符
s0="15713615763"
l0=[]
n=0
for i in s0:
    # print(i,end='\t')  #1	5	7	1	3	6	1	5	7	6	3
    for j in l0:
        # print(j ,end='\t')
        if j[0]==i:
            j[1]+=1
            break
    else:
        l0.append([i,1])
        n+=1
#print(l0)
#[['1', 3], ['5', 2], ['7', 2], ['3', 2], ['6', 2]]
# print(n)

min=num=l0[0][1]
max=num=l0[0][1]
# print(num)  #  3
for m in range(n):
    if max<l0[m][1]:
        max=l0[m][1]
    if min>l0[m][1]:
        min=l0[m][1]
# print(max,min)  #3 2
for l in range(n):
    if max==l0[l][1]:
        print(l0[l][0])

# 37. 输入一个数字如果是质数则打印，然后结束程序， 否则继续输入直到输入为质数
while True:
    str0=input("请输入一个数字")
    int0=int(str0)
    for i in range(2,int0):
        if int0%i==0:
            print(f'{str0}不是质数')
            break
    else:
        print(f'{str0}是质数')
        break

# 38.找到1000以内相差为6的质数对（5,11）（7,13）...
l0=[]
for i in range(2,1000):
    for j in  range(2,i):
        if i%j==0:
            break
    else:
        if i not in l0:
            l0.append(i)
# print(l0)
for count in range(len(l0)-1):
    if int(l0[count]+6)==int(l0[count+1]):
        print(l0[count],l0[count+1])

# 39.一直输入数字，直到数字之和为5的倍数，求输入数字的平均数
sum=0
count=0
while True:
    str0=input("请输入一个数：")
    int0=int(str0)
    sum+=int0
    count+=1
    # print(sum,count)
    if sum%5==0:
        print(f'输入{count}个数，平均数为{sum/count}')
        break

# 40.输入1 个正整数 n(n<=100)，计算并输出1＋1/2＋1/3＋……＋1/n 。
str0=input('请输入一个正整数（小于等于100）：')
n=int(str0)
sum=0
for i in range(1,n+1):
    sum+=1/i
print(sum)


# 41.输入两个数，求两个数的最大公约数，最小公倍数
str1=input("请输入第一个数：")
str2=input("请输入第二个数：")
int1=int(str1)
int2=int(str2)
count=0
if int1>int2:
    for i in range(int2,1,-1):
        if int1%i==0 and int2%i==0:
            count+=1
            if count==1:
                print(f'最大公约数是{i}，最小公倍数是{int1*int2/i}')
                break

if int1 < int2:
    for i in range(int1, 1, -1):
        if int1 % i == 0 and int2 % i == 0:
            count += 1
            if count == 1:
                print(f'最大公约数是{i}，最小公倍数是{int1*int2/i}')
                break

# 42.已知四位数3025有一个特殊性质:
# 它的前两位数字30和后两位数字25的和是 55,
# 而   55的平方刚好等于该数(55*55=3025).
# 试编一程序打印所有具有这种性质的四位数.
count=1000
while count<10000:
    a=count//1000
    b=count//100%10
    c=count//10%10
    d=count%10
    if (a*10+b+c*10+d)**2==count:
        print(count)
    count+=1


# 43.找到500到1000以内满足以下的质数对（前两个差值是第二个与第三个差值的一半）

l0=[]
for i in range(500,1001):
    for j in range(2,i):
        if i%j==0:
            break
    else:
        if i not in l0:
            l0.append(i)
print(l0)
for num in range(len(l0)-2):
    if (l0[num+1]-l0[num])==(1/2*(l0[num+2]-l0[num+1])) :
        print(l0[num],l0[num+1],l0[num+2])



